]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
build: Run unit tests on `meson test`
authorFlorian Müllner <fmuellner@gnome.org>
Sat, 19 Aug 2017 08:43:38 +0000 (10:43 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 4 Oct 2017 16:12:27 +0000 (18:12 +0200)
Meson makes it easy to define unit tests, so hook up the existing
ones.

https://bugzilla.gnome.org/show_bug.cgi?id=786497

data/meson.build
tests/meson.build

index 6bc5ae08a955ae4c5754c3f9eb2c2614bacef19b..032e3f0f417b8371c474ffaab10fb6c29aee0f72 100644 (file)
@@ -78,11 +78,18 @@ install_data('50-gnome-shell-system.xml', install_dir: keysdir)
 
 schemaconf = configuration_data()
 schemaconf.set('GETTEXT_PACKAGE', meson.project_name())
-configure_file(
+schema = configure_file(
   input: 'org.gnome.shell.gschema.xml.in',
   output: 'org.gnome.shell.gschema.xml',
   configuration: schemaconf,
   install_dir: schemadir
 )
 
+# for unit tests - gnome.compile_schemas() only looks in srcdir
+custom_target('compile-schemas',
+  input: schema,
+  output: 'gschemas.compiled',
+  command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
+  build_by_default: true)
+
 install_data('gnome-shell-overrides.convert', install_dir: convertdir)
index 91f9cda150b94ce903e897e3d8f87662b212396b..a6726f7bc908cafc22a1b4cd1f3faa1c99512d0b 100644 (file)
@@ -1,8 +1,18 @@
 testconf = configuration_data()
 testconf.set('MUTTER_TYPELIB_DIR', mutter_typelibdir)
 testconf.set('srcdir', meson.current_source_dir())
-configure_file(
+run_test = configure_file(
   input: 'run-test.sh.in',
   output: 'run-test.sh',
   configuration: testconf
 )
+
+testenv = environment()
+testenv.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data'))
+
+foreach test : ['insertSorted', 'jsParse', 'markup', 'url']
+  test(test, run_test,
+    args: 'unit/@0@.js'.format(test),
+    env: testenv,
+    workdir: meson.current_source_dir())
+endforeach